package com.xbaoziplus.simple_spring.beans.factory.support;

import com.xbaoziplus.simple_spring.beans.factory.config.BeanDefinition;

/**
 * @author xbaozi
 * @version 1.0
 * @interfacename BeanDefinitionRegistry
 * @date 2023-04-18  19:43
 * @description 用于保存 bean 定义的注册表的接口
 */
public interface BeanDefinitionRegistry {

    /**
     * @description 向这个注册表注册一个新的 bean 定义。
     * @author xbaozi
     * @date 2023/4/18 19:44
     * @param beanName  要注册的 bean 实例的名称
     * @param beanDefinition    要注册的 bean 实例的定义
     **/
    void registerBeanDefinition(String beanName, BeanDefinition beanDefinition);

    /**
     * @description 判断是否包含指定名称的BeanDefinition
     * @author xbaozi
     * @date 2023/5/7 17:50
     * @param beanName  指定名称
     * @return boolean
     **/
    boolean containsBeanDefinition(String beanName);
}
